/* == MLD ==
Categories(#nom : string) 
Annonces(#id : int, titre : string, contenu : string, image : image, prix : float, livraison : string, date_initial : date, 
date_modif : date, critere : string, valider : boolean, categorie=>Categorie) 
Commentaires(#id : int, id_annonce=>Annonces, corps : string, date_initiale : date, date_modif : date, 
id_user =>Utilisateur) 
Utilisateur(#id : int, nom : string, prenom : string , login : string, adresse : string, mail : string, password : string, 
date_inscription : date, date_visite : date, administrateur : bool) 
*/

drop table if exists Commentaires;
drop table if exists Utilisateur;
drop table if exists Annonces;
drop table if exists Categories;


create table Categories(nom text primary key);
create table Annonces(id serial primary key, titre text, contenu text, image oid, prix real, livraison text, date_initial date, date_modif date, critere text, valider bool, categorie text references categories(nom));
create table Utilisateur(id serial primary key, nom text, prenom text, login text unique not null, adresse text, mail text, password text, date_inscription date, date_visite date, administrateur bool);
create table Commentaires(id serial primary key, id_annonce int references annonces(id), corps text, date_initiale date, date_modif date, id_user int references utilisateur(id));

--insert into Utilisateur(nom,prenom,login,password,date_inscription,date_visite) values('BERGERE','Robin','robi','test',current_date,current_date);

create or replace function creerCategorie(pCat text) returns void as
$$
begin insert into Categories(nom) values (pCat); end;
$$ language 'plpgsql';

create or replace function connexion(pLogin text, pPassword text) returns bool as
$$ declare res bool;
begin select count(*) from Utilisateur where login=pLogin and password=pPassword into res; return res; end;
$$ language 'plpgsql';

/*
create or replace function connexion(pLogin text) returns table(text,text,text,text,text,date,date) as
$$ declare t table;
SELECT login, nom, prenom, mail, adresse, date_inscription, date_visite FROM utilisateur WHERE login = pLogin INTO t; return t; end;
$$ language 'plpgsql';

*/
